@@ -4,7 +4,6 @@ gem 'rails' |
||
4 | 4 |
gem 'rake' |
5 | 5 |
gem 'mysql2' |
6 | 6 |
gem 'devise' |
7 |
-gem "patron" |
|
8 | 7 |
gem 'kaminari' |
9 | 8 |
gem 'bootstrap-kaminari-views' |
10 | 9 |
gem "rufus-scheduler", :require => false |
@@ -138,7 +138,6 @@ GEM |
||
138 | 138 |
multi_xml (~> 0.5) |
139 | 139 |
rack (~> 1.2) |
140 | 140 |
orm_adapter (0.4.0) |
141 |
- patron (0.4.18) |
|
142 | 141 |
polyglot (0.3.3) |
143 | 142 |
pry (0.9.12.2) |
144 | 143 |
coderay (~> 1.0.5) |
@@ -281,7 +280,6 @@ DEPENDENCIES |
||
281 | 280 |
kramdown |
282 | 281 |
mysql2 |
283 | 282 |
nokogiri |
284 |
- patron |
|
285 | 283 |
pry |
286 | 284 |
rails |
287 | 285 |
rake |
@@ -64,21 +64,26 @@ module Agents |
||
64 | 64 |
options["stops"].collect{|a| a.split("|").last} |
65 | 65 |
end |
66 | 66 |
def check |
67 |
- page = session.get(check_url) |
|
68 |
- page = Nokogiri::XML page.body |
|
69 |
- predictions = page.css("//prediction") |
|
70 |
- predictions.each do |pr| |
|
71 |
- parent = pr.parent.parent |
|
72 |
- vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]} |
|
73 |
- if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i |
|
74 |
- vals = vals.merge Hash.from_xml(pr.to_xml) |
|
75 |
- if not_already_in_memory?(vals) |
|
76 |
- create_event(:payload => vals) |
|
77 |
- add_to_memory(vals) |
|
78 |
- else |
|
67 |
+ hydra = Typhoeus::Hydra.new |
|
68 |
+ request = Typhoeus::Request.new(check_url, :followlocation => true) |
|
69 |
+ request.on_success do |response| |
|
70 |
+ page = Nokogiri::XML response.body |
|
71 |
+ predictions = page.css("//prediction") |
|
72 |
+ predictions.each do |pr| |
|
73 |
+ parent = pr.parent.parent |
|
74 |
+ vals = {routeTitle: parent["routeTitle"], stopTag: parent["stopTag"]} |
|
75 |
+ if pr["minutes"] && pr["minutes"].to_i < options["alert_window_in_minutes"].to_i |
|
76 |
+ vals = vals.merge Hash.from_xml(pr.to_xml) |
|
77 |
+ if not_already_in_memory?(vals) |
|
78 |
+ create_event(:payload => vals) |
|
79 |
+ add_to_memory(vals) |
|
80 |
+ else |
|
81 |
+ end |
|
79 | 82 |
end |
80 | 83 |
end |
81 | 84 |
end |
85 |
+ hydra.queue request |
|
86 |
+ hydra.run |
|
82 | 87 |
end |
83 | 88 |
def add_to_memory(vals) |
84 | 89 |
self.memory["existing_routes"] ||= [] |